package edu.ccut.saturn.component;

import java.util.List;

/**
 * 记录了bundle中的权限配置信息
 * 
 * @author 温建
 * 
 * @version 1.0 2008.9.04
 *
 */
//TODO:每个bundle只有一个权限配置文件，initAuthorityInfo方法是否合适
public interface IBundleAuthorityInfo {

	/**
	 * 设置资源信息
	 * @param resourceInfos
	 */
	public abstract void setResourceInfos(
			List<IAuthorityResourceInfo> resourceInfos);

	/**
	 * 设置角色信息
	 * @param roleInfos
	 */
	public abstract void setRoleInfos(List<IAuthorityRoleInfo> roleInfos);

	/**
	 * 获得bundle名称
	 * @return
	 */
	public abstract String getBundleSymbolicName();

	/**
	 * 设置bundle名称
	 * @param bundleSymbolicName
	 */
	public abstract void setBundleSymbolicName(String bundleSymbolicName);

	/**
	 * 获得资源信息
	 * @return
	 */
	public abstract List<IAuthorityResourceInfo> getResourceInfos();

	/**
	 * 获得角色信息
	 * @return
	 */
	public abstract List<IAuthorityRoleInfo> getRoleInfos();

	/**
	 * 通过IBundleAuthorityInfo的实例为资源和角色信息赋值
	 * @param bundleAuthorityInfo
	 */
	public abstract void initAuthorityInfo(IBundleAuthorityInfo bundleAuthorityInfo);
}